Modern vehicles use several small embedded computers, generically referred to as an ECM (Electronic Control Module). These are used to control the engine, transmission, anti-lock brakes, lighting, instruments, air bags, and so on. These ECMs communicate with each other over one or more dedicated vehicle networks. The most commonly used network technology in use today is Controller Area Network (CAN) which was originally developed by the Bosch Corporation in 1986, see e.g., FIGS. 1A and 1B. In general, all of the ECMs in a vehicle have the ability to receive and transmit serial messages asynchronously on the CAN network. When an ECM wants to send a message, it will wait until no other ECM is sending (network is idle), and it will then transmit its message.
All messages include an Identification field (ID). If two or more ECMs attempt to transmit over the common network at precisely the same time, CAN provides an arbitration scheme based on the message ID. The message with the lowest number ID will “win” the arbitration and continue to be sent. The other higher ID message(s) will be aborted early in the message transmission, as its ECM stops transmitting. The ECM of an aborted message will try to send the aborted message again after a delay. When a CAN network is designed, each ECM is assigned dedicated IDs which are not to be duplicated or used by other ECMs. This enforced ID assignment enables the arbitration scheme to work properly.
The processor/microcontrollers in the ECMs execute computer programs with fixed, dedicated algorithms/functions, so they always respond the same to the same inputs and messages. These fixed programs only respond to messages which are known or defined at the time of system design. Unknown message IDs will not be responded to. Thus it is impossible for an aftermarket ECM to be added to the network and interact with the OEM ECMs if using unknown and unexpected message IDs.
Previous solutions to alter vehicle functionality involved cutting wires and opening circuits to prevent OEM circuits from operating as designed.
While adding an aftermarket ECM to alter vehicle behavior by interacting with OEM ECMS is very desirable, doing so has not been possible prior to the system and methods disclosed in this application. Accordingly, there is a need for addressing problems associated with adding an aftermarket ECM to the CAN network.
There is likewise a need to reduce installation time for any systems addressing these issues by eliminating any need to cut and solder wires, and to further reduce system cost by eliminating harnessing and connectors.
There is a corresponding need for a more reliable end result by eliminating problems associated with OEM systems no longer being able sense their connection to their hardware solenoids, etc.
Likewise, there is a similar need for using CAN network messaging only to spoof or mimic a fault condition and to trick an associated electronic module for a desired condition.
Further it would be useful if multiple features can be incorporated into one module, thus reducing even further required harnesses, and related installation issues and expense.